package com.edmendst.xmall.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * @author Edmend St
 * @date 2020/08/01
 * @description 支付宝回调信息
 *
 * notify_time	Date	是	-	通知时间。通知的发送时间。格式为 yyyy-MM-dd HH:mm:ss。	2020-12-27 06:20:30
 * notify_type	String	是	64	通知类型。
 * 枚举值：trade_status_sync。	trade_status_sync
 * notify_id	String	是	128	通知校验 ID。	ac05099524730693a8b330c5ecf72da9786
 * sign_type	String	是	10	签名类型。商家生成签名字符串所使用的签名算法类型，目前支持 RSA2 和 RSA，推荐使用 RSA2（如果开发者手动验签，不使用 SDK 验签，可以不传此参数）。	RSA2
 * sign	String	是	344	签名。可查看异步返回结果的验签（如果开发者手动验签，不使用 SDK 验签，可以不传此参数）。	601510b7970e52cc63db0f44997cf70e
 * trade_no	String	是	64	支付宝交易号。支付宝交易凭证号。	20213112011001004330000121536
 * app_id	String	是	32	开发者的 app_id。支付宝分配给开发者的应用 APPID。	2014072300007148
 * auth_app_id	String	是	32	开发者的 app_id，在服务商调用的场景下为授权方的 app_id。	2014072300007148
 * out_trade_no	String	是	64	商户订单号。	6823789339978248
 * trade_status	String	是	32	交易状态。咨询目前所处的状态。	TRADE_CLOSED
 * total_amount	Number	是	11	订单金额。本次交易支付的订单金额，单位为人民币（元）。支持小数点后两位。	20
 * receipt_amount	Number	是	11	实收金额。商家在交易中实际收到的款项，单位为人民币（元）。支持小数点后两位。	15
 */
@Data
public class CallBackPayInFo {
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date notifyTime;

    private String notifyType;
    private String notifyId;
    private String signType;
    private String sign;
    private String tradeNo;
    private String appId;
    private String authAppId;
    private String outTradeNo;
    private String tradeStatus;

    private BigDecimal totalAmount;
    private BigDecimal receiptAmount;
}